# -*- coding:utf-8 -*-
"""
@Time:  2024/6/15 13:07
@Auth:  Mrs.Gou 
@Function:  函数使用
"""


def my_func2(*args, **kwargs):
    """
    拓展
    函数功能，把位置型参数求和，把键值对参数+1
    :param args: 使用*args，可以接收所有线性数据结构参数
    :param kwargs: 使用**kwargs，可以接收所有的键值对结构参数
    :return:
    """
    print(args, kwargs)
    # 求和
    s = 0
    for i in args:
        s += i
    # 加1
    for key in kwargs.keys():
        kwargs[key] += 1
    return s, kwargs


# 函数一定要调用才会执行，通过函数名+参数列表调用
my_func2()

# 线性数据结构传参
l = [i for i in range(10)]
print(l)
# 使用*l 代表把l线性数据结构里面的元素，迭代的写入到函数的参数列表
# my_func2(l[0],l[1],...)
s = my_func2(*l)
print(s)

# 键值对参数也可以这样传参
d = {'a': 1, 'b': 2, 'c': 3}
s = my_func2(**d)
print(s)
